/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Simulacion.Controlador;

import com.dp1.pucp.Modelo.Algoritmos.LeeDatos;
import com.dp1.pucp.Modelo.Clases.Moneda;
import com.dp1.pucp.Modelo.Clases.Precio;
import com.dp1.pucp.Modelo.Clases.Tipoproducto;
import java.io.File;
import java.io.FileNotFoundException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author ubuntu64
 */
public class CargarDatosPrecios 
{
    
        public ArrayList<Precio> LeePrecios(String nombreArchivo){
        ArrayList<Precio> precios = new ArrayList<>();
        
            File ArchivoPrecios = new File(nombreArchivo);
        
        if(ArchivoPrecios!=null){
            try {
                Scanner sc = new Scanner(ArchivoPrecios);
                
                String linea = "";
                
                
                while (sc.hasNextLine()){
                    
                    linea = sc.nextLine();
                    String[] partes = linea.split("/");
                    
                    String precio = partes[0];
                    String fechainicio = partes[1];
                    String fechafin = partes[2];
                    String idmoneda = partes[3];
                    String idtipoproducto = partes[4];
                    
                                       
                    Precio p = new Precio();
                    
                    p.setPrecio(Float.valueOf(precio));
                    
                    
                    Date nuevaFecha= new Date();
                    try{
                        nuevaFecha = new SimpleDateFormat("yyyy-MM-dd").parse(fechainicio);
                    }catch (ParseException ex){
                        Logger.getLogger(CargaDatosTipoCambio.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    p.setFechainicio(nuevaFecha);
                    
                    nuevaFecha= new Date();
                    try{
                        nuevaFecha = new SimpleDateFormat("yyyy-MM-dd").parse(fechafin);
                    }catch (ParseException ex){
                        Logger.getLogger(CargaDatosTipoCambio.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    p.setFechafin(nuevaFecha);
                    
                    Moneda m = new Moneda();
                    m.setIdmoneda(Integer.valueOf(idmoneda));
                    p.setMoneda(m);
                    
                    Tipoproducto tp = new Tipoproducto();
                    tp.setIdtipoproducto(Integer.valueOf(idtipoproducto));
                    p.setTipoproducto(tp);
                    
                    
                    
                    precios.add(p);
                    
            
                }
            } catch (FileNotFoundException ex) {
                Logger.getLogger(LeeDatos.class.getName()).log(Level.SEVERE, null, ex);
            }
           
            
        }
        
        return precios;
    } 
    
}
